using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("DeathSpellController")]
	public class DeathSpellController : SpellController
	{
		public DeathSpellController(IntPtr address, string className)
			: base(address, className)
		{
		}

		public DeathSpellController(IntPtr address)
			: this(address, "DeathSpellController")
		{
		}

		public new bool AddPowerSourceAndTargets(PowerTaskList taskList)
		{
			return method_11<bool>("AddPowerSourceAndTargets", new object[1] { taskList });
		}

		public new void OnProcessTaskList()
		{
			method_8("OnProcessTaskList");
		}

		public void AddDeadCardsToTargetList(PowerTaskList taskList)
		{
			method_8("AddDeadCardsToTargetList", taskList);
		}

		public bool CanAddTarget(Entity entity, Card card)
		{
			return method_11<bool>("CanAddTarget", new object[2] { entity, card });
		}

		public int PickDeathSoundCardIndex()
		{
			return method_11<int>("PickDeathSoundCardIndex", Array.Empty<object>());
		}

		public bool WasAttackedBy(Entity defender, Entity attacker)
		{
			return method_11<bool>("WasAttackedBy", new object[2] { defender, attacker });
		}

		public int PickRandomDeathSoundCardIndex()
		{
			return method_11<int>("PickRandomDeathSoundCardIndex", Array.Empty<object>());
		}

		public bool CanPlayDeathSound(Entity entity)
		{
			return method_11<bool>("CanPlayDeathSound", new object[1] { entity });
		}
	}
}
